//
//  Person.m
//  02_ClassAndObject
//
//  Created by dllo on 16/7/5.
//  Copyright © 2016年 dllo. All rights reserved.
//

#import "Person.h"

@implementation Person

- (void)sleep:(NSInteger)time
{
    NSLog(@"碎了%ld", time);
}

- (void)setName:(NSString *)name
{
    if (!_name) {
        [_name release];
        _name = [name retain];
    }
}

- (NSString *)name
{
    return [[_name retain] autorelease];
}

// 方法实现{} {前要加空格/回车
// 指派初始化方法 无论调用哪个初始化方法,都会执行的初始化方法,称为指派初始化方法
- (instancetype)initWithName:(NSString *)name age:(NSInteger)age
{
    self = [super init];
    if (self) {
        _name = name;
        _age = age;
    }
    return self;
}

+ (instancetype)personWithName:(NSString *)name age:(NSInteger)age
{
    return [[[Person alloc] initWithName:name age:age] autorelease];
}

@end
